package com.qn.sms.core.client;

import com.qn.sms.core.client.dto.SmsSendRespDTO;
import com.qn.sms.core.client.vo.SmsCommonResult;

import java.util.Map;

/**
 * 短信客户端，用于对接各短信平台的 SDK，实现短信发送等功能
 *
 * @author QN
 * @date 2022/02/26
 */
public interface SmsClient {

    /**
     * 发送消息
     *
     * @param logId          日志编号
     * @param mobile         手机号
     * @param apiTemplateId  短信 API 的模板编号
     * @param templateParams 短信模板参数
     * @return 短信发送结果
     */
    SmsCommonResult<SmsSendRespDTO> sendSms(String logId, String mobile, String apiTemplateId,
                                            Map<String, Object> templateParams);

}
